package xyz.xuminghai.javafx_learn.scene.paint;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.paint.CycleMethod;
import javafx.scene.paint.RadialGradient;
import javafx.scene.paint.Stop;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

/**
 * 2023/7/31 4:55 星期一<br/>
 * RadialGradient类提供了一种用圆形径向颜色渐变图案填充形状的方法。
 * 用户可以指定 2 个或更多渐变颜色，并且此绘制将在每种颜色之间提供插值。
 *
 * @author xuMingHai
 */
public class RadialGradientApp extends Application {

    private final BorderPane root = new BorderPane();

    public static void main(String[] args) {
        Application.launch(args);
    }


    @Override
    public void init() {
        Circle circle = new Circle(200.0,
                new RadialGradient(20.0,
                        30.0,
                        0.0, 0.0,
                        200.0,
                        false, CycleMethod.REPEAT,
                        new Stop(0.0, Color.ANTIQUEWHITE),
                        new Stop(0.3, Color.DARKORCHID),
                        new Stop(0.6, Color.CRIMSON),
                        new Stop(1.0, Color.TEAL)));
        root.setCenter(circle);
    }

    public void start(Stage primaryStage) {
        primaryStage.setTitle(getClass().getSimpleName());
        Scene scene = new Scene(root, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.show();
    }


}
